package com.csun.cmny.provider.service;

import com.csun.cmny.base.dto.LoginAuthDto;
import com.csun.cmny.core.support.IService;
import com.csun.cmny.provider.model.domain.OmcUserType;
import com.csun.cmny.provider.model.dto.OmcUserTypeDto;
import com.csun.cmny.provider.model.dto.OmcUserTypeQueryDto;

import java.util.List;

/**
 * @author chenzheng
 * @description:人员类别接口
 * @date 2019/8/10 11:50
 */
public interface OmcUserTypeService extends IService<OmcUserType> {

    /**
     * 保存或者更新人员类别
     *
     * @param omcUserType
     * @param loginAuthDto
     * @return
     */
    int saveOmcUserType(OmcUserType omcUserType, LoginAuthDto loginAuthDto);

    /**
     * 根据人员类别名模糊查询人员类别列表
     *
     * @param omcUserTypeQueryDto
     * @return
     */
    List<OmcUserType> selectByName(OmcUserTypeQueryDto omcUserTypeQueryDto);


    /**
     * 删除人员类别
     *
     * @param userTypeId
     * @return
     */
    int deleteOmcUserType(Long userTypeId);

    /**
     * 查询人员类别名是否存在,修改时排除本身信息查询其他记录是否重复
     *
     * @param userTypeDto
     * @return
     */
    int isNameExist(OmcUserTypeDto userTypeDto);

    /**
     * 基础人员类别添加
     * @param: [groupId]
     * @return: java.lang.Integer
     */
    Integer addBasePeopleTypes(Long groupId, LoginAuthDto loginAuthDto);
}
